#include "comm.hpp"
#include "log.hpp"


int main()
{
    // 创建命名管道
    Init init;
    Log log;
    log.Enable(Classfile);

    // 打开通道
    int fd = open(FIFO_FILE, O_RDONLY);
    if(fd < 0)
    {
        log(Fatal, "error string: %s, error code: %d", strerror(errno), errno);
        exit(FIFO_OPEN_ERR);
    }

    log(Info, "server open file done, error string: %s, error code: %d", strerror(errno), errno);
    log(Warning, "server open file done, error string: %s, error code: %d", strerror(errno), errno);
    log(Error, "server open file done, error string: %s, error code: %d", strerror(errno), errno);
    log(Fatal, "server open file done, error string: %s, error code: %d", strerror(errno), errno);
    log(Debug, "server open file done, error string: %s, error code: %d", strerror(errno), errno);

    // 开始通信
    while(true)
    {
        char inbuffer[SIZE] = {0};
        ssize_t n = read(fd, inbuffer, sizeof(inbuffer));
        if(n > 0)
        {
            inbuffer[n] = '\0';
            cout << "client say# " << inbuffer << endl;
        }
        else if(n == 0)
        {
            log(Debug, "client quir, me too! error string: %s, error code: %d", strerror(errno), errno);
            break;
        }
        else
            break;
    }

    close(fd);
    
    return 0;
}